package elm

import (
	"encoding/json"
	"fmt"
	"os"
)

func GetPj(string2 string) PjObject {
	filePtr, err := os.Open(string2)
	if err != nil {
		fmt.Println("文件打开失败 [Err:%s]", err.Error())

	}
	defer filePtr.Close()

	var products PjObject
	// 创建json解码器
	decoder := json.NewDecoder(filePtr)
	err = decoder.Decode(&products)
	if err != nil {
		fmt.Println("解码失败", err.Error())
	} else {
		//fmt.Println("解码成功")
	}
	return products
}

type PjObject struct {
	Msg  string `json:"msg"`
	Code int    `json:"code"`
	Data struct {
		CommentNum            int     `json:"comment_num"`
		AvgShipTime           int     `json:"avg_ship_time"`
		CommentScore          float64 `json:"comment_score"`
		FoodScore             float64 `json:"food_score"`
		DeliveryScore         float64 `json:"delivery_score"`
		QualityScore          float64 `json:"quality_score"`
		PackScore             float64 `json:"pack_score"`
		FilterTypeNum         int     `json:"filter_type_num"`
		CommentScoreTypeInfos []struct {
			CommentScoreType int `json:"comment_score_type"`
			TotalCount       int `json:"total_count"`
		} `json:"comment_score_type_infos"`
		Comments []struct {
			UserName          string        `json:"user_name"`
			ShipScore         float64       `json:"ship_score"`
			ShipTime          int           `json:"ship_time"`
			Comment           string        `json:"comment"`
			CommentType       int           `json:"comment_type"`
			OrderTime         int           `json:"order_time"`
			CommentTime       int           `json:"comment_time"`
			Ctime             int           `json:"ctime"`
			OrderCommentScore int           `json:"order_comment_score"`
			PraiseFoodTip     string        `json:"praise_food_tip"`
			CriticFoodTip     string        `json:"critic_food_tip"`
			PoiReplyContents  string        `json:"poi_reply_contents"`
			WmCommentID       int64         `json:"wm_comment_id"`
			UserID            int           `json:"user_id"`
			UserPoiCommentNum int           `json:"user_poi_comment_num"`
			AddCommentList    []interface{} `json:"add_comment_list"`
			OrderType         int           `json:"order_type"`
			DeliveryType      int           `json:"delivery_type"`
			DeliveryName      string        `json:"delivery_name"`
			CommentPics       []struct {
				URL          string `json:"url"`
				ThumbnailURL string `json:"thumbnail_url"`
			} `json:"comment_pics"`
			CommentVideos        []interface{} `json:"comment_videos"`
			UserPicURL           string        `json:"user_pic_url"`
			FoodCommentScore     int           `json:"food_comment_score"`
			DeliveryCommentScore int           `json:"delivery_comment_score"`
			HasAddComment        bool          `json:"has_add_comment"`
			IsPictureAudited     bool          `json:"is_picture_audited"`
			PoiID                int           `json:"poi_id"`
			CommentSourceTip     string        `json:"comment_source_tip"`
			CommentSourceType    int           `json:"comment_source_type"`
			OrderDetail          struct {
				OrderViewID     int           `json:"order_view_id"`
				TotalPrice      float64       `json:"total_price"`
				OrderDetailList []interface{} `json:"order_detail_list"`
			} `json:"order_detail"`
			PraiseFoodList []struct {
				Name      string `json:"name"`
				SchemaURI string `json:"schema_uri"`
				SpuID     int64  `json:"spu_id"`
				SkuID     int64  `json:"sku_id"`
			} `json:"praise_food_list"`
			CommentScheme []struct {
				Keyword   string `json:"keyword"`
				SpuID     int64  `json:"spu_id"`
				SkuID     int64  `json:"sku_id"`
				SchemeURL string `json:"scheme_url"`
			} `json:"comment_scheme"`
			UserType      int `json:"user_type"`
			CommentLabels []struct {
				Content   string `json:"content"`
				LabelType int    `json:"label_type"`
			} `json:"comment_labels"`
			IsAnonymous          int           `json:"is_anonymous"`
			CanAdditional        int           `json:"can_additional"`
			QualityScore         int           `json:"quality_score"`
			PackScore            int           `json:"pack_score"`
			BuzCode              int           `json:"buz_code"`
			DisableAdditionalMsg string        `json:"disable_additional_msg"`
			HighQuality          int           `json:"high_quality"`
			IsDp                 int           `json:"is_dp"`
			Scheme               string        `json:"scheme"`
			SatisfactionIcon     string        `json:"satisfaction_icon"`
			SpuIDList            []string      `json:"spu_id_list"`
			AccurateCommentScore int           `json:"accurate_comment_score"`
			BizType              int           `json:"biz_type"`
			UsefulCount          int           `json:"useful_count"`
			CurrentUserUseful    bool          `json:"current_user_useful"`
			UserLabels           []interface{} `json:"user_labels"`
		} `json:"comments"`
		Labels []struct {
			LabelID    int    `json:"label_id"`
			Content    string `json:"content"`
			LabelCount int    `json:"label_count"`
			LabelStar  int    `json:"label_star"`
			LabelBias  int    `json:"label_bias"`
		} `json:"labels"`
		CommentCategories  []string `json:"comment_categories"`
		BuzCode            int      `json:"buz_code"`
		CommentPraiseRatio int      `json:"comment_praise_ratio"`
		HasMore            bool     `json:"has_more"`
		FriendStatusBanner struct {
			FriendStatus    int    `json:"friend_status"`
			FriendStatusTip string `json:"friend_status_tip"`
			BindSchema      string `json:"bind_schema"`
		} `json:"friend_status_banner"`
		Scores struct {
			CommentScore       float64 `json:"comment_score"`
			DeliveryScore      float64 `json:"delivery_score"`
			QualityScore       float64 `json:"quality_score"`
			PackScore          float64 `json:"pack_score"`
			Show               int     `json:"show"`
			DrugDisplayVersion int     `json:"drug_display_version"`
		} `json:"scores"`
		CommentTip string `json:"comment_tip"`
		CommentsDp struct {
			Show                 int           `json:"show"`
			WmPoiID              int           `json:"wm_poi_id"`
			DpPoiID              int           `json:"dp_poi_id"`
			CommentScore         float64       `json:"comment_score"`
			Comments             []interface{} `json:"comments"`
			AccurateCommentScore float64       `json:"accurate_comment_score"`
			HasMore              bool          `json:"has_more"`
		} `json:"comments_dp"`
		CommentLabelTips []struct {
			Level int    `json:"level"`
			Tip   string `json:"tip"`
		} `json:"comment_label_tips"`
		LastPageCommentTip   string `json:"last_page_comment_tip"`
		LastPageCommentTitle string `json:"last_page_comment_title"`
		LastPageCommentURL   string `json:"last_page_comment_url"`
		CommentTipInfo       string `json:"comment_tip_info"`
		Version              int    `json:"version"`
		Sg                   bool   `json:"sg"`
	} `json:"data"`
}
